Virtual net drivers advertise multicast capabilities.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 2 May 2006 14:46:15 +0000 (15:46 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 2 May 2006 14:46:15 +0000 (15:46 +0100)
Signed-off-by: Keir Fraser <keir@xensource.com>
linux-2.6-xen-sparse/drivers/xen/netback/loopback.c
linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c

index 870b4aa2a6d1b0ef5da05193bca8154b9f7bfccb..6bedfa43ed4c8e9bd2f986c409504dd0288bfcb0 100644 (file)
@@ -127,6 +127,14 @@ static struct ethtool_ops network_ethtool_ops =
        .set_tx_csum = ethtool_op_set_tx_csum,
 };
 
+/*
+ * Nothing to do here. Virtual interface is point-to-point and the
+ * physical interface is probably promiscuous anyway.
+ */
+static void loopback_set_multicast_list(struct net_device *dev)
+{
+}
+
 static void loopback_construct(struct net_device *dev, struct net_device *lo)
 {
        struct net_private *np = netdev_priv(dev);
@@ -137,6 +145,7 @@ static void loopback_construct(struct net_device *dev, struct net_device *lo)
        dev->stop            = loopback_close;
        dev->hard_start_xmit = loopback_start_xmit;
        dev->get_stats       = loopback_get_stats;
+       dev->set_multicast_list = loopback_set_multicast_list;
 
        dev->tx_queue_len    = 0;
 
index b49c505f67dd22387ad6667657483c1fa14601e7..197e34c47af3527c7efd6e761fb70027cf87f500 100644 (file)
@@ -1094,6 +1094,14 @@ static struct ethtool_ops network_ethtool_ops =
        .set_tx_csum = ethtool_op_set_tx_csum,
 };
 
+/*
+ * Nothing to do here. Virtual interface is point-to-point and the
+ * physical interface is probably promiscuous anyway.
+ */
+static void network_set_multicast_list(struct net_device *dev)
+{
+}
+
 /** Create a network device.
  * @param handle device handle
  * @param val return parameter for created device
@@ -1163,6 +1171,7 @@ static int create_netdev(int handle, struct xenbus_device *dev,
        netdev->stop            = network_close;
        netdev->get_stats       = network_get_stats;
        netdev->poll            = netif_poll;
+       netdev->set_multicast_list = network_set_multicast_list;
        netdev->uninit          = netif_uninit;
        netdev->weight          = 64;
        netdev->features        = NETIF_F_IP_CSUM;